"con dao"? Not "cái dao"? Why the heck would knife be in an animate noun class?
Both are correct. I would call this an exception. Don't be surprised - Vietnamese is full of exceptions like this.
Irregularities occur in most languages. Outside of con dao (knife) you can also see the classifier in words like con đường (road) and con số (number).