Caesar cipher - digital circuit
I thought about using modular arithmetic

Yup, that's how you do it, alright.

but I did not find a simple way to do that either.

And, if you're going to build it up out of ICs you're not going to find a "simple" way.

Your problem is that (as you've noticed) the 94 characters you've arbitrarily picked (I assume you took the printable characters and excluded the space) are offset by 33 from zero.

So,

1) start by offsetting your characters. Use a pair of 4-bit adders to subtract 33.

2) Convert your key the same way.

3) Add the two using another pair of adders.

4) Use either a pair of 4-bit comparators, a pair of 4-bit adders or an 8-bit comparator to detect a result greater than 93.

5) If step 4 gives a positive result, use another pair of adders to subtract 93 from the results of step 3.

6) Now add 33 to get valid ASCII

That's a preliminary total of 12 16-bit DIPs, which is not simple, but not outrageous, either. Using wirewrap panels I've designed systems with multiple hundreds of chips, so I may be a bit blase about this. YMMV.