Как поймать ошибку в NodeJS?
Проблема оказалась внутри библиотеки SocksProxyAgent. Уже не помню где читал, но где-то на GitHub писали, что такая ошибка вываливается как uncaught, потому что не висит обработчик на событии ошибки для tls.connect.
В итоге исправил 
return tls.connect({
    ...omit(opts, 'host', 'hostname', 'path', 'port'),
    socket,
    servername
});

На следующий код
const tlsConnection = tls.connect({
    ...omit(opts, 'host', 'hostname', 'path', 'port'),
    socket,
    servername
});
tlsConnection.on('error', () => {
    return null;
});
return tlsConnection;

Возможно имеет смысл ещё покопаться с библиотекой в поисках более изящного решения. Пока что не работает даже если выкидывать ошибку через throw new Error(). Если найду другое решение, отпишу в комменты
а это не поможет? 

process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;