I have always been told that all Latin words with a Z are ancient Greek loanwords.
Why doesn't Latin have any native words with a Z?
It's because Z was borrowed from Greek. While, as the other posters point out, archaic Latin had a Z, it had disappeared due to sound changes. It was then forgotten and then borrowed from Greek to represent zeta. They also borrowed Y for upsilon, which is why both of these are at the end of the alphabet.
Incidentally, Latin didn't have J, U, or W, which are medieval variations on I and V. Because they developed from existing letters, they appear next to the original letters. That's a bit simplified, but it's the basic story.
Z, allegedly, has a strange story. It was a Latin letter, then it became obsolete and was removed. It was then added back to accommodate words derived from Greek
According to a few sources, one of them Dictionary.com, Z
was actually included in the original Latin alphabet, which itself was a derivation of the Etruscan alphabet:
A B G D E V
Z
H Θ I K L M
N Ξ O P Ś Q R S T Y X Φ Ψ
Over the following years, z
gradually rhotacized until /z/ made the same sound as /r/. A Roman consul, Appius Claudius Caecus, allegedly removed it from the Latin alphabet.
During the Roman conquest of Greece, the letter was added back in (along with y
) to work with the words being added to the language derived from Greek.
Rex Wallace argues that the letter z “remained part of the alphabetic series until the third century BCE even though it seems to have been used sparingly – if at all – in Very Old and Old Latin inscriptions” (Wallace 2011: 15). He also cites Colonna 1980, who reportedly mentions a late 7th century BCE graffito ZKA on a fragment of a ceramic. Interestingly, in his table 2.4. “Comparison of archaic Etrsucan and Latin letterforms,” Wallace says “not attested” for zeta:
Wallace also includes a reproduction of Latin abecedarium that was incised on a ceramic plate (3rd century BCE), where the letter Z “appears in its proper position following F” (p. 15):
Eventually, the letter Z was replaced by G and we can’t find it in the Latin alphabet of the late republican period.
Weiss 2009/2011 writes that the first epigraphical attestation of Z is on a Roman denarius of 81 BCE. He also mentions evidence coming from ancient grammarians (Velius Longus, Varro, Martianus Capella) but there is no epigraphical evidence to confirm this. Weiss also hypothesizes that originally Z was probably pronounced as [ts].
For a more scholarly discussion we’d have to consult Wachter 1987 (chapter 2; caveat: it’s in German) but I don’t have a copy at hand now.