Every single chess game is considered to have "mistakes", because chess is still within the select group of unsolved games. Now if we redefine the word "mistake" taking into account the level/quality of play (measured by rating, for example), we find out that we always make mistakes, even when we win.
Take this situation: you play against a much higher rated opponent. There is little chance that you will win the game. Your opponent sees more and he wins. Did you make a "mistake"? With the practical meaning of mistake, I don't think so; you probably didn't have a chance. But according to a theoretical meaning, comparing the game to that (still unknown) perfect game of chess, there surely will be mistakes. Even from your highly rated opponent.
My point is that you may not have made a mistake, but you will anyway benefit from analyzing your games, including the moves of your opponent. Moreover, I think that you must analyze all of your games, regardless of the result (I would, however, skip some fast blitz games).
The closest best game that we can find is that analyzed by a well-known engine. And luckily nowadays it could be effortless: lichess.org and other sites allow you to analyze a full game, presenting you with alternative better moves:
Free online analysis engine?
One last advice: also analyze your opening! You don't need an engine to do that, but an Opening Book. These are opening moves considered best for both sides, catalogued according to statistics, looking at thousands of games over the years. There are many free opening books out there.