Disclosure: I work for a company that builds an OTP-based 2FA server.
Yes they can and do become unsynchronized assuming it's not a time based OTP. Assuming we're talking hardware tokens, the biggest reason these things become unsynchronized (believe it or not) is usually because someone's toddler likes to press the button repeatedly. Followed by fat-fingering usernames and/or pins.
If you're using a device that doesn't have it's own power source, e.g. USB-powered, it doesn't get out of sync very often unless you like pressing the button while plugged in. To combat this problem, often times the server will generate 15-20 future iterations of the password after a successful authentication, and future authentications will validate against these values, and then after the next successful auth it will generate another 15-20.
In the event things get totally out of sync you could potentially enter the next 2-4 OTP's generated by the token, and the system will scan from what it thinks is the current key until it finds matching passwords, up to say 100 iterations. This will allow you to resync the key states.