Difference between PuTTY Serial and Modbus
Have you checked your termination and grounding? Theoretically at 9600 baud it should not matter. If you use putty you probably type letter-by-letter. If there is no termination there will be ringing at the receiver. It may be just that one character/second gets received correctly, but a longer Modbus frame does not because it "collides with its reflection".

Some useful resources:


AN-960
AN-1057
The RS-485 Design Guide