Él no tiene una pistola.

English Translation

He doesn’t have a gun.

Does arma not work here as well?

Arma could refer to any kind of weapon, including knives. Besides, if you want to use arma you will have to say un arma.