I presume you should query all_objects to see what you're actually dealing with. Why? Because of the following example:
Connected as user mike, I'll create a table, grant select on it to public and create a public synonym:
SQL> connect mike/lion
Connected.
SQL> create table test as select 'Littlefoot' name from dual;
Table created.
SQL> create public synonym myview for test;
Synonym created.
SQL> grant select on test to public;
Grant succeeded.
Connect as another user, scott and select from myview:
SQL> connect scott/tiger
Connected.
SQL> select * from myview;
NAME
----------
Littlefoot
Right; it works. Where is it in SQL Developer?

Aha, it is in public synonyms (I applied filter on name, looking for MYVIEW to skip zillion other public synonyms).
Or, in SQL*Plus:
SQL> select object_name, object_type, owner from all_objects where object_name = 'MYVIEW';
OBJECT_NAME OBJECT_TYPE OWNER
------------------------------ ------------------- ------------------------------
MYVIEW SYNONYM PUBLIC
SQL>
Therefore, I suggest you do the same - query all_objects and you'll know something more about the issue.