Currently, if you change a soldier's equipment from the "inventory" option in the base (the one that lets you equip them directly from the base itself rather than having to first transfer items to a vessel), the equipment isn't transferred to their vessel - not until / unless you remove them from that vessel and then re-add them. If you send them out on a mission without doing so, and the vessel didn't already contain the needed equipment, they will be unequipped on the mission.
I'm unsure if this is an oversight, a bug, or if it's as-intended, but either way, if you use the base interface to change a soldier's equipment, it should probably update the gear on their current vehicle, as if you'd removed them from it and then re-added them. The current behavior is, if nothing else, unintuitive - it took me a while to realize precisely why soldiers weren't showing up with the gear I assigned them.