Well i don't know if the omega is a vector...
Yes, it's a vector. Imagine a rotating spaceship and the vector is visible on that object.
The spaceship rotates around this vector (so the vector itself seem to stay still).
The faster the object rotates, the longer the vector is.
... of euler angles rotX,rotY,rotZ or what, maybe i should do a quaternion?
Yes, euler angles problem means:
You build 3 rotations from 3 'euler angles' and combine them.
But rotX * rotY * rotZ is not the same as rotZ * rotX * rotY
No matter which order you choose, it's wrong (except if two rotations are identity or other special cases)
'Using quaternion' should mean:
angular velocity already contains a SINGLE axis and a SINGLE angle of rotation.
Converting this to quat is the most usual way to deal with that.
So use it, but recognize that it would also be possible (and easy) to build a rotation matrix from axis and angle.
What matters is that axis angle rotation is well defined, while euler angles always require an additional order convention information,
and you don't have that infomation.
You hate and tend to avoid euler angles

i mean how to calculate the vector from omega the vector at a specific time at some point from center
You mean predicting orientation at next timestep?, if i understand your code right...
Pseudocode:
//predict next orientation
dgVector omega = joint->GetBody0()->GetOmega();
float angle = omega.Length();
vector axis = omega / angle;
quat q; q.FromAxisAndAngle (axis, angle);
matrix temp; q.ToMatrix(temp);
matrix predicted = bodyMatrix * temp; // future orientation
//predict future position of some point
predicted .posit += linearVelocity * timestep; // add linear velocity to get future body position
vector currentPoint (...contact position in worldspace?)
vector temp = bodyMatrix.Untransform(currentPoint); // move to current local space
vector predictedPoint = predicted.Transform(temp): // move to future world space
EDIT: added some comments