FOUND IT!
I used window-type none, when I should have used window-type offscreen which then create an offscreen buffer!
Here is my test code:
from panda3d.core import loadPrcFileData
loadPrcFileData("", "window-type offscreen" ) # Spawn an offscreen buffer
loadPrcFileData("", "audio-library-name null" ) # Prevent ALSA errors
from direct.showbase.ShowBase import ShowBase
#import direct.directbase.DirectStart
base = ShowBase()
base.graphicsEngine.renderFrame()
base.screenshot(namePrefix='screenshot', defaultFilename=1, source=None, imageComment="")
Just one more question: if there is no graphic card available, will Panda3D fallback to the CPU? This is important to me, because I will use my application on servers where there may not be any graphic card available, or at least access will be forbidden.