The problem is the internet lag between your computer and the chess.com server.
You see 12 seconds on your clock and your opponent's move. Your opponent makes a move and it is sent to the chess.com server. The chess.com server sends the move to you, but it takes a long time to get to you. Chess.com gives you back the first 2 seconds of the time it takes for the move to transmit to you. But if it takes more than 14 seconds, you won't even have received the notice that it's your turn and your time will have run out.
From your end, it looks like it's still your opponent's turn and his clock is running. In reality, he has made his move and it is being relayed from chess.com to you very slowly.
My clock appears to be haunted. I typically play 10/5 games and, while my opponent's clock runs, chunks of five seconds are subtracted from MY time. The result, as you may imagine, is that I have been losing numerous games unnecessarily. In a recent game, for example, I had 12 seconds on my clock, my opponent in check with mate on the move and STILL lost on time while my opponent's clock was running! Frustrating. If this can't be fixed, I'm out of here for good. This is just not fun anymore. Has anyone had a similar problem?