It is. I've done it many times.
It is VERY error prone. You should not be doing it unless you really know what you are doing, and you are very careful. You can prevent many errors if you write your own software to interface with Bitcoin Core to handle most of the transaction building for you.
If your copy of Bitcoin Core is synchronized far enough to have all of the transaction outputs that you plan to spend, then you can just press "Send". Since it is offline, it won't be able to actually send it anywhere, but it will still save the transaction to the wallet. Then you can use dumprawtransaction in the console to extract the transaction so you can transfer it to your online computer.
If the blockchain on your offline computer is not synchronized far enough, then the offline wallet won't know what bitcoins you actually have access to. In that case, you either won't be able to create the transaction (the offline wallet will display an insufficient balance) or it may create an invalid transaction (it may try to spend outputs that have already been spent by your online wallet).
If you are going to do this, make sure you actually understand the concept of "change" outputs, and that you don't accidentally delete a wallet file somewhere (online or offline) that has the private key for the address that was used for the "change".
Each of the conditions is met.
Thank you for your help, I will test this.