Yes, Matthew did mistranslate it. Actually, he based his quote on the Greek translation of the Hebrew, which introduced an ambiguity which is not present in the original. "Virgin" is incorrect. Check just about any new bible today, and you will see it properly rendered as "young woman" or some variation of this.
BTW, Matthew also says "and they shall call his name Emmanuel". Please point me to the passage in scripture where this 'prophecy' is fulfilled, and Jesus IS ACTUALLY CALLED "Emmanuel".
Matthew called him Immanuel in his writing. He was an apostle. I accept his writing as the written word of God. What more do you want from me? :-)