You can fix this, but the store feature, like other features that create friendly urls should not be used on more than one page and should not be moved from one page to another to avoid this kind of problem. It is designed to enforce page level security.
What happened is when you created products it creates a friendly url /yourproductname-product.aspx, but this friendly url really is re-written to the real url which is /WebStores/ProductDetail.aspx?pageid=x&mid=y&product=z
Similarly it creates urls for offers like youroffername-offer.aspx which really maps to /WebStore/OfferDetail.aspx?pageid=x&mid=y&offer=z
So these urls still have the old pageid and when the page security checks for page view permissions it finds that this module does not exist on the page with the passed in id (since you moved it), so access denied is the result. If we did not enforce this then it would be possible to see unauthorized content by manipulating the url.
The only way to fix it is to go into Administration > Advanced Tools > Url Manager and find the urls for your products and offers and fix the "Real Url" to have the correct pageid for the new page you put it on. You can find the page id by going to your store page and click page settings and you will see the id in the url. Make note of it and then fix each of your products and offer urls.
Or else if the old page still exists move it back since it will be a pain to fix if you have lots of products and offers. You can always move the page itself around in the hierarchy with no troubles. Hopefully you did not create more products after moving it otherwise some products will have one pageid and others will have a different one. They all must have the correct pageid in their real urls.
Hope it helps,