How does Messages determine whether the SEND button should be green or blue?
If the recipient's iMessage is unavailable, or yours, for that matter, the Send button will be turned to Green, showing that you'll send a SMS. When the iMessage service is available again, the button will be turned Blue, showing that you'll be sending iMessages instead of SMS.

So, if you want to make sure you'll always be sending an iMessage, although the service is unavailable, meaning that the recipient will receive the text whenever it's possible, just switch off the Send as SMS under Settings / Messages.