O grep padrão não aceita o modificador ?
que normalmente o tornaria não-ganancioso.
Mas você pode tentar a opção -P que, se ativada na sua distro, fará com que ela aceite as expressões regulares do estilo Perl:
grep -oP -m1 "(https)[^'\"]+?.mp3" mp3.txt
Se isso não funcionar, você pode incluir, no seu exemplo específico, o parêntese correto no intervalo, para que ele não pareça além dos parênteses:
egrep -o -m1 "(https)[^'\")]+?.mp3" mp3.txt