I don't pretend to know the true answer as to whom was Cain's wife. This is trully one of the great mysteries of the Bible.
However here are some theories that could be supported by scripture.
1. Cain married one of his sisters (this seems rather unlikely as Adam and Even do not have other sons and daughters until after Seth, their third child is born, and Cain would have dwelt in the land of Nod before this. This is furthermore unlikely since the Mosaic Law forbids sex with your sister, though I suppose Cain may not have cared all ready being a murderer.)
2. Cain married one of Abel's, Seth's, or his other brothers' daughters (again this would seem to be unlikely as Seth did not beget Enos until he was 105 years old and then had other sons and daughters afterwards, in which case Cain would have long dwelt in Nod. As for a possible line of Abel, the Bible is silent on this matter leading one to speculate that he was murdered before he could produce children, though I suppose it is not out of the realm of possibility.)
3. God again performed the miracle of Woman by creating women out of the ribs of Seth and Cain to be their wives before the human race could take root. (The Bible is again silent on this matter and this is only speculation, but seeing as God can do all things, and also describes the process for Adam in Genesis 2:21-24, I would at least consider it plausible.)
In Truth though, please remember, these are only theories. The totality of what really happened back in that long forgotten age may never be known to us in the present.