I think you need to look more closely at the documentation of survminer.
Look at ?ggsurvplot, you'll see the result is a list, and the ggplot object is in the plot element.
Try for example ca1$plot. You'll get a plot. If you arrange those $plot object, it will work better.
Also, survminer contains a arrange_ggsurvplots function to simplify what you are doing I think, by also graphing the table result.
Hope it helps.