The poison damage always applies
This is due to two reasons:
- The piercing damage and the poison damage both occur on hit. They are separate, but simultaneous. The fact that one is affected by a saving throw does not change this (all this means is that the saving throw must be rolled before the total damage can be determined). So the ordering goes: a. you are hit by a missile b. either before or after the damage is determined you decide to catch it c. you reduce the total damage of the missile by your Catch Missile result. d. If the total damage is now 0 and you have a free hand, you may now catch (and potentially throw) it.
- Deflect Missiles doesn't turn a hit into a non-hit. It just reduces the damgedamage of a projectile attack and allows you to catch the projectile if your reduce the damage to 0. It still hits you, so all of its on hit effects still apply regardless of whether you catch it or not (for instance, if instead of dealing poison damage it paralyzed you on hit you'd be paralyzed even if you did catch the missile - this is very counterintuitive, but it is how the feature is worded). Reducing the damage to 0 just means you can keep the missile in your hand, and you can throw it if you want to and have a Ki point left over.
On that last note about this being counterintuitive: I'd absolutely encourage you to houserule this to work differently, because on-hit effects not applying when the missile is caught would in my opinion be more intuitive and probably more fun for the monk. The answer above is based on how I read the RAW, it is not a recommendation for how to rule this in game.