Trans. Replication and Primary Keys

I have a couple of tables a developer created that need to be added to replication. When attempting it returns an error saying that the table can not be replicated because it doesn't have a Primary Key.

Is it true that PKs are required for transactional replication or is there another way around it?

Transactional Replication mechanism uses PK to identify the rows modified (inserted/updated/deleted).
After seting up replication, you can check at the subscriber database. snapshot agent would have created 3 stored prcoedures (one for each operation) to insert the row to the table. Especially the update/delete procedures use PK.