It is not simply "signing", it is spending valid payments you have previously received.
Bitcoin needs to at least know about how your payment is funded; it must have received the blocks and transactions that sent you money. If another wallet has your addresses or private keys and you are using it, you can create a situation where you already spent the money you are sending, allowing your old-blockchain bitcoin to make a double-spend that will never confirm.
You can send a transaction using Bitcoin offline - when you do reconnect your computer and run bitcoin, it will eventually retransmit the transaction to the network.