The synonym has nothing to do with privileges on the undelying object, even if there is a public synonym if the user does not have either explict privileges or privileges granted via a role they will not be able to read the contents of the table.

If you can still select from the table, I would suggest that you look carefully at the privileges assigned to the role and to the user.

HTH