Yes, and No.
A little explanation:
While all iPhones since the 4s have included both CDMA and GSM hardware which would allow them to be used on any carrier either GSM or CDMA based,
It's a regular practice of CDMA carriers to not activate iPhones not sold specifically for them on their networks.
So if you were to buy say an AT&T iPhone, Sprint and Verizon would in the past not activate it on their service at all.
Recently new legislation has made it so Verizon now will activate iPhone 6s and 6s Plus on their networks even if not sold specifically for them.
Not sure whether Sprint does this too.
Another issue to consider, is when buying an iPhone for a specific carrier or from a specific carrier store, the iPhone is locked to that carrier, and requires unlocking if you want to be able to use it with other GSM carriers. (CDMA is not unlockable, and a Verizon based iPhone can never be used with Sprint's CDMA service and vice versa) .
Unlocking can only ever be authorized by the carrier to which the iPhone is locked. So an AT&T locked iPhone can only be unlocked by AT&T.
In the U.S. the only source of unlocked iPhones is Apple themselves. If you buy an iPhone from them at full price, it will be unlocked, and can be used with any GSM carrier of your choice.
Buying an iPhone at a reduced price with a 2 year contract with a particular carrier means the iPhone will be locked to that carrier, and only that carrier can unlock it for use with other carriers.
Unlocked iPhones, either from Apple, or ones correctly unlocked by the carrier to which they were locked to , will never lock to another carrier.
If you buy a Verizon iPhone at full price from Apple it will be unlocked and usable with any GSM carrier. If you buy it at a reduced price from Verizon or Apple with a 2 year contract it may be locked to Verizon, and you will need to fulfill Verizon's requirements for unlocking.