This is a really problematic issue because even the context is evidence that this was very likely done deliberately by Matthew, and we will see why.
We are all familiar with the 'begats' in Matthew's genealogy of Jesus. You can go and read them again for yourself:
Matthew 1:7-11 (King James Version)
7 "And Solomon begat Roboam; and Roboam begat Abia; and Abia begat Asa;"
8 "And Asa begat Josaphat; and Josaphat begat Joram; and Joram begat Ozias;"
9 "And Ozias begat Joatham; and Joatham begat Achaz; and Achaz begat Ezekias;"
10 "And Ezekias begat Manasses; and Manasses begat Amon; and Amon begat Josias;"
11 "And Josias begat Jechonias and his brethren, about the time they were carried away to Babylon:"
This is all fine and dandy, but if you go to the OT you can actually find this same genealogy in the first book of Chronicles. So, let's check it out and see if Matthew is true to his word.
1 Chronicles 3:10-16 (King James Version)
10 "And Solomon's son was Rehoboam, Abia his son, Asa his son, Jehoshaphat his son,"
11 "Joram his son, Ahaziah his son, Joash his son,"
12 "Amaziah his son, Azariah his son, Jotham his son,"
13 "Ahaz his son, Hezekiah his son, Manasseh his son,"
14 "Amon his son, Josiah his son."
15 "And the sons of Josiah were, the firstborn Johanan, the second Jehoiakim, the third Zedekiah, the fourth Shallum."
16 "And the sons of Jehoiakim: Jeconiah his son, Zedekiah his son."
Uh-oh... We've got a problem here. Matthew is omitting three generations (names) after Joram and another one after Josiah!
Why would Matthew do that? Didn't he have access to the Old Testament? Well, that should be obvious because of the very fact that he is writing this genealogy. So, why on earth would he omit these 4 names? Was it an accident or was there an ulterior motive?
Well, we cannot be 100% sure but Matthew himself gives us a very telling hint of what probably was going on, in the very next verse:
Matthew 1:17 (King James Version)
"So all the generations from Abraham to David are fourteen generations; and from David until the carrying away into Babylon are fourteen generations; and from the carrying away into Babylon unto Christ are fourteen generations."
Hmmm... Three blocks of 14 generations, eh? So the number 14 does indeed have great significance for Matthew. So it's not at all crazy to think that when he found more generations in Chronicles that there was "supposed" to be, he simply omitted them!
So, this is not only another error/contradiction you find in the Bible, but this was probably done deliberately with the purpose of deceiving the readers!!
I don't know about you but this is quite shocking coming from a book that is supposed to be the 'Word of God', it doesn't matter from what point of view you look at it.