Yes - one solution
1) A Dynamic routing protocol
2) A GRE tunnel (to encapsulation dynamic routing)
3) Specific static routes for tunnel end points
4) Specific NAT
Once you have the above from site to site, you can inject a default route into the routing protocol, and the routers will take care of the rest.
Or you can try and use DMVPN and static routes.
HTH>