Is it possible for an opponent to have zero deadwood when I gin?
Possible, but unlikely.  It means that your opponent chose to discard when he had Gin.  There is no good reason to do this.
Other explanations:

If both players are dealt a gin hand (very rare).
A misclick.
An opponent that do not know the rules.
A bad AI agent.
In games where the Undercut bonus is larger than the Gin bonus then in some rare cases it might be better to try undercutting instead of making a Gin.
The opponent run out of time, thus an auto-move was played.