@viragomann:
Since the IP packets come from another network which the destination host has no route for, it sends responses to the default route (gateway).
As said, you either need a route at site A or do NAT at VPN server.
I see 3 ways to resolve:
Add a NAT rule to VPN server which translates the VPN packets source address to its LAN address.
The disadvantage of this is that any access to the destination host seams to come from the router and you are not able to determine the real source address. If that doesn't matter for your purposes, this will be the easiest solution for you.
To add the NAT rule go to Firewall > NAT > Outbound, if the router is just for VPN as you said, you can select "Manual Outbound NAT rule generation" and hit save. Otherwise select "Hybrid rule gen".
Add a new rule by clicking "+" or "Add":
Interface: LAN
Source: Network and enter the sites B LAN network
Leave the rest at its defaults, enter a description and save the rule.
Now source addresses in packets coming from the other site are translated to pfSense LAN address which is in the same subnet as your LAN host, so responses are sent back to pfSense which directs it over VPN.
That is the best option for me :) I've tried it out and thanks to your detailed guide I got it to work! I'm so happy. Thank you very much! Finally the clients from Site B can access the shares from Site A ;D