No as both are lossy codecs you will always lose quality doing so. You can do it with ffmpeg.
parallel ffmpeg -i {} {.}.opus ::: *.m4a
You may want to tweak parameters for bitrate, etc. But this is not needed at all, as AAC had patents that are now expired.
If you get .flac, .wav or similar lossless music, you should encode that with opus. But lossy to lossy makes nearly no sense (apart from specific players not supporting them)
GNU Parallel works well for this kind of thing. A lot of audio stuff is single threaded, so unlike video transcoding running multiple conversions simultaneously is a useful thing to do. The command is simpler, too:
Unless the m4a files are ALAC-encoded, you shouldn't do it. m4a files tend to hold AAC-encoded audio, which is a lossy format. Opus is also a lossy format, so you'll only lose sound quality, basically. You should only convert lossless to lossy.
Well sure always back up everything but this command will create new .opus files still leaving the original .m4a in the folder too, so even if it errors just delete the bad .opus files and try to resolve your ffmpeg codec issue before retrying the conversion or trying another method. Ffmpeg in my experience always converts with the "makes a new file with your file(s)" method, I've never had it do the "change the file destructively" method.
It's always good with questions like these to answer with how you'd do something even if the logic for why might not work. Usually if the question is faulty in some way like this one, it's indeed because the poster has the wrong idea about something and needs to be advised against it, but sometimes it's because their reasons are opaque to us and they still need the solution. Even in the former case, the solution is often seen by many others who stumble upon threads like these and can apply it to other scenarios where it actually makes sense, like converting lossless to lossy.