If Coinbase is actually holding BTC for every claimed BTC of their customers, then it's trivial to calculate how many BCH the customer held at the time of the fork and create a way to claim them or transfer them. It could be a one-time option, if Coinbase doesn't want to deal with BCH.
Unless they aren't holding as much BTC as their customers think they are. In which case, it gets complicated.