My car, a 2L BMW e34, failed its MOT on the gas test for CO readings. The tester said he thought it may be the cat had failed. I put a brand new exhaust system with cat and oxy sensor on my car, new spark plugs, and air filter. Took it for the retest and it still failed on the same thing, although a bit better readings, even though the guy testing it did his best to make it pass. The cat on the new exhaust was half the size of the one that came off. Now I'm wondering if the cat could be to small for the engine? We are now at a loss for ideas how to make it pass. My mechanic says it does not make sense. Any advice please
The basic answer to your question is: Yes, a cat can be too small for the engine.
In your case, I wonder, though. Your engine is very small in the grand scheme of things. I had put a cat on my V8 Camaro which was good for an engine up to 460 cubic inches (or 7.54L). It wasn't what I would call "large". I know my car passed the emissions testing without issue when I brought it in for testing. Point being, the size of the cat does matter, but I'm wondering in your case.
There are a couple of alternatives you could look at to see if there's an issue.
I'm not sure if your BMW runs a Manifold Absolute Pressure (MAP) sensor or not (it may just use a Mass Air Flow (MAF) sensor). If this is faulty, it could be sending the wrong signals to the ECU and causing the air/fuel ratio to drift away from stoich, causing high CO readings. If your car only runs a MAF, you may try cleaning the MAF to see if it helps. It could also be the engine temperature sender or the throttle position sensor. Both of these would also cause an issue moving things away from stoich. These things would be very hard to check by the average person as to whether they are functioning correctly, so you may want to have your mechanic take a look at them. These can provide false data to the ECU without causing the ECU to kick out a trouble code (check engine light).
WRT your cat, do you know if it was broken in properly? If not, it could be it isn't working to full efficiency. I'm sort of doubting this, though, since you are still facing the same issue with the new cat as you did with the old.
All in all, I guess what I'm saying is, the size of the cat could be at fault, but I'd be looking at other areas prior to replacing it with a bigger one. Considering you are still facing the same issue with the new cat as you were with the old one, this could be the case.