It is certainly possible to opt a contact back in, so long as is it the contact that is taking the action to be opted back in. In essence, you would need to perform and update and add which lists you would like the contact to be subscribed to just as you would update any other contact. The difference is that you would need their Opt In Source to be set to "ACTION_BY_CONTACT" which indicates it is that contact taking the action to be resubscribed. You can find more information about this in Opting in a subscriber.
I hope this helps clear things up. If you have any other questions regarding this, please let us know.