FredMan is right, the WaitProperty method will do exactly what you want.
Further, it is vastly superior to using Wait statements because when you use Wait, QTP will always wait exactly the number of seconds you specify. If you tell it to wait 30 seconds, and the page loads in 5 seconds, QTP will sit there for the remaining 25 seconds wasting your time.
On the other hand, the WaitProperty method specifies a maximum length of time to wait, but if it find wahat it is looking for sooner, it will stop waiting immediately and move on with your script.
On a related note, unless you've changed your settings, the .Sync method should wait 60 seconds I think. If your page is taking longer than 60 seconds to load, you probably have a very major bug, depending on what you're doing. Common practice says your page needs to load in under 10 seconds, I've heard figures as low as 5 seconds, otherwise the user is likely to cancel and go to another website. Even if this is an internal application, no user wants to stare at a loading page for over a minute; this would very likely result in a bad user experience.
It's still important to get QTP to handle the load times so the script will run, and for this you have the WaitProperty method, but you might also want to look into your business requirements for how fast this page should load.
I would suggest using the Timer feature of QTP to start a timer before loading the page and end the timer after if loads, then send a pass/fail to the test log based on whether the page loaded in an acceptable length of time.
"The last 10% of any software project will take 90% of the budgeted time. The first 90% will take the other 90%"