Potrebbe essere d'origine spagnola e derivare dalla toponomastica della penisola iberica (Roca è, infatti, un cognome principalmente spagnolo) oppure potrebbe derivare dalla toponomastica italiana ed essere una variante del molto più diffuso Rocca; da non sottovalutare, però, anche una possibile origine dal termine rocca o roca, un arnese usato per la filatura costituito da un'asta di legno sottile che termina con un'estremità più grossa, attorno alla quale veniva un tempo disposto il materiale da filare.
Il cognome Roca è prevalentemente campano e pugliese, con ceppi maggiori nell'avellinese, nel barese e nel foggiano.