The OAuth token has nothing to do whether the user is logged or not.
It may happen that the server may invalidate the OAuth token for many reasons.
I don't know about Instagram but you can try getting the token. Logout the user in Instagram and see if the OAuth still works.
Just keep in mind that by default the OAuth class uses PHP sessions to store obtained tokens. So if you want to perform actions when the user is not present, you need to use a sub-class to store tokens somewhere like a database.
You may want to take a a look at this article. The example is for Google offline access but it works for other APIs.
phpclasses.org/blog/package/7700/po
...