From the main meta post on how comment mentions work:
Who can be notified with this feature?
The author of the post.
Note that the author of the post will always be notified of any new comment. You may still use it for clarity, if needed; however if only you and the author have commented on the post so far, the @name will be automatically removed from the beginning of the comment, as it adds no value.
Any user who has a visible (non-deleted) comment on the post.
Note that if a user comments on their own post and there is only one other person who has previously commented on that post, then that person is also notified, even if @name is not used.
Any user who has edited the post (does not include pending or rejected edit suggestions).
For questions: The moderator or gold badge holder who closed or reopened the question, provided they were the only one to do so. Users who have closed or reopened a question without a binding close vote (i.e. without a gold tag badge or a moderator vote), and those who bindingly voted, but other users were also involved (e.g. closed by User1, User2, and Moderator) cannot be notified.
For questions: any user who set a bounty on the question (current or expired)
Keep in mind that the question and answers are all considered independently. For example, if Alice was the author of the question, then you cannot notify her by commenting on Bob's answer (unless Alice also participated in that answer). Similarly, you cannot notify Bob by commenting on Alice's question.
Why do some names not appear in the auto-complete box?
The auto-complete box can determine when an @name would not be necessary to trigger a notification and in that case will not include the user in the list.
Additionally, only users who have commented on the post are ever populated into the list. Editors and other users from the post's history will never appear there, even if they are able to be notified by typing manually.