Genesis is not a history book. Its writers were trying to answer the big questions of human existence—How are we to relate to God? Why is there evil in the world?—not to provide names, dates, and places.
Obviously there had to be female descendants of the first human beings or we would not be here to debate the question. Omitting their names is not a flaw in Genesis, though. It is simply a detail not essential to the story.
So we do not know where Cain found his wife or even if there was, in fact, a man named Cain with the precise history we find in Scripture. What we do know is what the story of Cain tells us about human nature and God's forgiveness.