You are missing one key word in your definition. There exists a primitive root (mod n) if and only if n = 1, 2, 4, , where p is an odd prime.
By definition, the positive integers that have a primitive root are 2, 4 and integers of the form and where p is a prime and t is a positive integer.
Then why does 16 NOT have a primitive root? and 2 is prime and 4 is a positive integer.
I'm confused...