If you want to transactional replicate that table, you have to have a primary key defined. you cannot replicate with a unique constraint although symantically the same, sql server requires the primary key constraint to replicate the tables.
How can you have a table where the key is not populated all the time, this violates first normal form.
In your situation then you should create a surrogate primary key. (identity column)