Difficult to say without debugs, but it's generally a timer issue. You need to make sure the Phase 1 timer is the same on both sides. The router defaults to 86400 seconds (24 hours), whereas the PIX defaults to 28800 seconds (8 hours).
Try doing either this on the router:
> cry isakmp policy xx
lifetime 28800
or this on the PIX:
> cry ipsec security-assoc lifetime seconds 86400
Othern than that make sure your crypto ACL's are the exact opposite of each other.