Some times we may face a situation where the mail accounts are not listed in cPanel interface, but actually they exist. This is a common issue that happens after account migration.
Check the OWNERSHIP of the following:
# /home/$user/etc/$domain/passwd
# /home/$user/etc/$domain/shadow
These files should have the ownership as user:mail
If the ownership is correct, we have to check if there is entry corresponding to the email users exist. If not we can recreate those email users from the cPanel.