Sent Bitcoin Cash to a Bitcoin segwit address by accident on my Ledger Nano S Stupid but I sent bitcoin cash to a bitcoin segwit address I own on my Ledger Nano S. They are not shown in either wallet. Did I lose them or is there a way to get them back?
It is in principal possible to get them back, but the danger lies in the fact that as soon as you broadcast your new transaction to get them back anyone can change the receiving address, hence steal your Bitcoin Cash coins.

Bitcoin Cash interprets the outpoint which contains your coins as a P2SH. To spend from it you must provide a redeemscript that hashes to image in the P2SH after which the script itself is interpreted and must also validate.

In your case though the redeemscript is a Segwit redeemscript of the form 0014{20-byte-key-hash} (https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#P2WPKH_nested_in_BIP16_P2SH). Since Bitcoin Cash does not understand Segwit, it will evaluate it as a script that simply contains a push of 0 followed by your public-key-hash and therefore is immediately considered valid.

One solution may be to create the transaction that spends this outpoint by simply providing this redeemscript, but instead of broadcasting it to the whole bitcoin cash network somehow give it to a miner directly that does not broadcast the transaction but only includes it in its block...