This is incorrect. Text messages (SMS) are sent over the control channel, which is separate from the phone's data connection. You can send and receive SMS without a data connection.
iMessage, on the other hand, does require a data connection.
This is not entirely true. The first time you go to send a message to someone, it queries Apple's servers to find out if that other person's phone number has been activated for iMessage. If so, then it defaults to sending iMessages to that recipient from then on, otherwise it defaults to sending SMS. If you send an iMessage, the phone will also detect whether the message was successfully sent and/or delivered. If it fails, the phone can give you the option to re-send via SMS instead.
So there is some fallback capability here, but it typically requires the sender of the message to notice that it failed and manually re-send it as SMS.