Yes, all the signers can sign a transaction off-chain and send the signature to the Safe Transaction Service, so it appears on the queue in the web UI.
The @gnosis.pm/safe-core-sdk
package allows to sign a transaction off-chain like this:
...
const safeTxHash = await safeCoreSdk.getTransactionHash(safeTransaction)
const signature = await safeCoreSdk.signTransactionHash(safeTxHash)
The @gnosis.pm/safe-service-client
package allows to send that signature to the Transaction Service:
import SafeServiceClient from '@gnosis.pm/safe-service-client'
...
const safeService = new SafeServiceClient({ txServiceUrl, ethAdapter })
await safeService.confirmTransaction(safeTxHash, signature.data)
You will find a more complete answer following this guide: https://github.com/safe-global/safe-core-sdk/blob/main/guides/integrating-the-safe-core-sdk.md#confirm-transaction