Depende de qual apk você se refere. Toda vez que você compila seu projeto no Android Studio e roda ele você está gerando um apk. A diferença está na configuração da compilação.
Quando você só compila para teste (debug), você gera um apk de desenvolvimento, que geralmente fica em:
SEU_PROJETO\app\build\outputs\apk
Com um nome do tipo:
app-debug.apk
Esse apk só deve ser utilizado para testes e desenvolvimento. Você não entrega essa versão para o usuário.
Para versão final, de release, você deve fazer uma assinatura digital no apk, para então enviar para a store. Para isso, vá em Build > Generate Signed APK
, conforme a imagem:
Então, você deve assinar o apk preenchendo as informações na janela que vai surgir:
Essa chave (senha e arquivo), deve ser bem guardada, pois você pode precisar dela para fazer atualizações no apk. Se perder essa chave, o Google não vai autorizar a atualização e não tem o que fazer (a não ser cadastrar outro app).
Finalmente, depois dessa janela o Android Studio vai compilar o apk assinado e vai abrir já na pasta onde ele está. Esse você pode enviar para a store.
https://pt.stackoverflow.com/questions/49882/como-gerar-um-arquivo-apk-no-android-studio