Depending on time it takes out for each hit to play out (accuracy, ball trajectory), there can be small differences which results in a time difference between yours and your opponent's hits.
Additionally, if your communication with the game server is delayed, it is highly possible that you are seeing a delayed play-by-play of your opponent. In actuality it is possible that your opponent has hit the ball first.
However, you can also increase how fast you hit the ball by increasing your 'Acceleration' in the batter stats, and also make sure that you are playing on an optmial network that does not throttle data or cuts out.