sensitivity and specificity are defined in terms of the counts of True Positives, False Positives, True Negatives, and False Negatives. Given a model that forecasts the result, you simply compare the actual to predicted to determine which category the observation falls into for a given cut point. The ROC curve is simply a plot of observations (sensitivity, 1-specificity) calculated for a range of cut points.
You can write the appropriate data step code to score the data using your model equation, then generate TP, FP,TN,FN counts for selected cutpoints, and from that derive a series of plot points for the selected cutpoints and then generate your ROC curve.
The model does not have to be created by any specific SAS/STAT proc.
If you need more (simple explanation of , definition of) sensitivity and specificity and ROC curves then Google explains well enough for input to such a coding excercise. At the end of it you can validate what you have coded against one of the Proc Logistic samples. and use the CTABLE Option to generate the counts for the same cutpoints you use in your code.
You may also find it visually helpfill to overlay the line (0,0) to (1,1) on your graph of points comprising your ROC curve.
One advantage of Proc Logistic is that it does provide a measure of the area under the ROC curve for you. Generating the area under the curve using a data step requires a bit of geometry, and is marginally more difficult than the generation of the points for the ROC Curve itself.
Whether you approach this by coding your own utility for generating ROC curves and go as far as calculating the area under the curve as well or use a purely SAS proc driven approach depends on a number of factors, including availability of software and coding competence.